import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'

Vue.use(Vuex)
// Vue.prototype.$store = store
// this指向每一个组件实例对象
// 每一个实例对象都可以看成是由Vue构造函数new出来
// this.$store 会现在当前的vue实例身上寻找$store属性 找不到就去找原型对象

const store = new Vuex.Store({
  // 组合拆分出去的vuex小模块
  modules: {
    app,
    settings,
    user
  },
  // 基于vuex中state的计算属性
  getters
})

export default store
